1. Technical Field
The present invention relates to a method and system for automating page space, or swap space, optimization tasks on a computer system.
2. Description of the Related Art
Computer systems in general and International Business Machines (IBM) compatible personal computer systems in particular have attained widespread use for providing computer power to many segments of today""s modern society. Systems with microprocessors are finding themselves in an array of smaller and more specialized objects that previously were largely untouched by computer technology. Computer systems typically include a system processor and associated volatile and non-volatile memory, a display area, input means, and often interfaces, such as a network interface or modem, to other computing devices.
These computing devices are information handling systems which are designed primarily to give independent computing power to a single user, or a group of users in the case of networked computing devices. Personal computing devices are often inexpensively priced for purchase by individuals or businesses. Nonvolatile storage devices such as hard disks, CD-ROM drives and magneto-optical drives are considered to be peripheral devices. Computing devices are often linked to one another using a network, such as a local area network (LAN), wide area network (WAN), or other type of network, such as the Internet.
One of the distinguishing characteristics of these systems is the use of a system board to electrically connect these components together. At the heart of the system board is one or more processors. System manufacturers continually strive for faster, more powerful processors in order to supply systems for demanding applications.
These computer systems are increasingly complex and require tuning to perform optimally. Tuning these complex systems is an increasingly challenging function given the increasing complexity of systems and the proliferation of computer system across an organizations. Performing manual tuning operations is time consuming, costly, and prone to error.
One of the principal performance tuning operations is allocating page space both in terms of absolute size and the locations of such page spaces. Paging spaces in systems running a UNIX based operating system is a dedicated area on nonvolatile storage which is used for real memory xe2x80x9cpage outs.xe2x80x9d In other operating systems, page space is sometimes referred to as xe2x80x9cswap space.xe2x80x9d Page space is used to efficiently store contents of real memory which are not currently being used by the operating systems. Many operating systems use xe2x80x9cvirtual memoryxe2x80x9d so that the addressable memory range is larger than the actual amount of physical memory. After contents are stored in real memory, it may be paged, or xe2x80x9cswapped,xe2x80x9d out to disk when the real memory is needed for another operation. Later, when the memory that was paged out is needed it is read from the page space and loaded into a real memory area. The operating system depends on the use of the page space, especially in powerful, multitasking systems. It is a challenge in manually tuning computer systems to allocate an optimal amount of page space and also place the page spaces in an optimal fashion across the computer system""s disk space.
What is needed, therefore, is a method for automating the sizing and placement of page spaces in a computer system in order to optimally tune the computer system.
It has been discovered that a computer system""s page space can be optimized by basing the page size on the amount of real memory in the computer system. The optimization program determines the amount of real memory in the computer system. The amount of memory is multiplied by a multiplier to determine an optimal amount of page space to allocate. In one embodiment the multiplier used is two (2) so that the amount of page space is double the amount of real memory. The optimal page space is compared with the amount of page space currently allocated in the computer system. If more page space is needed, the optimization tool determines where on the computer system""s disk space the additional page space should be added.
In a UNIX embodiment, the optimization tool determines whether a non-root volume group exists on the system. An optimal configuration avoids placing multiple paging spaces on the same root volume group disk. Accordingly, a non-root group without a paging space is examined for a new paging space addition. If a non-root group is found, the paging space needed is added to the non-root group. If no such non-root group exists, then the optimization tool adds space to the default UNIX paging space logical group. An existing paging space is preferably expanded instead of adding a second paging space to a root volume group disk.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations, and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.